C3X: Executable Mod fr Civ 3 Complete
Release 9

Anmerkung von Civinator: Flintlock selbst bezeichnet seine brilliante Arbeit als "Mod", hier wird der mittlerweile verfestigten bung gefolgt, die Arbeit als "Flintlock Patch" zu bezeichnen - in Wirklichkeit ist es mehr als jede dieser Bezeichnungen: Es ist meiner Ansicht nach die nchste Erweiterung fr C3C. 

Inhalt (** = neu in Version 9):

Die Inhalte knnen durch die mit einem Texteditor vernderbare Datei default.c3x_config aktiviert, deaktiviert (true oder false) bzw. mit anderen Werten eingestellt werden. 

1.  Verbesserungen des Spielkomforts:

 a) Stack Einheiten Befehle (Anmerkung: Super, vor allem die "Bautrupp-Armeen"):
  - Stack Bombardierungen: Symbol erscheint durch Drcken der STRG Taste 
    der Stack bombardiert ein Feld so lange bis alles auf dem Feld maximal beschdigt oder zerstrt oder die Bombardierungsmglichkeiten erschpft sind.
  - Bautrupp Aktionssymbole (Bewsserung, Straenbau, etc.) werden zu Stack-Symbolen durch Drcken der STRG Taste, es entsteht eine Art "Bautrupp-Armee".
  - Gleiches ist jetzt auch fr die Einheitenbefehle Verschanzen, Modernisieren und Auflsen gleicher Einheiten eines Stacks mglich
 b) Warnhinweis am Rundenende zu Stdten, die in der nchsten Runde wegen Unzufriedenheit die Produktion lahm legen (Anmerkung: Sehr hilfreich).
 c) Detailiertere Information ber die Produktion in Stdten
 d) Aktionspfeile im Handelsbildschirm erlauben einen schnellen Wechsel im Handel mit verschiedenen Zivilisationen
 e) Automatisches Einsetzen der optimalen Goldmenge im Handelsmenue (Anmerkung: Sehr hilfreich, funktioniert aber nicht in allen Situationen).
 f) Keine wiederholten Pop-up Anfragen bei nderung einer Gelndeverbesserung (z.B. nderung Bewsserung in Bergwerk)
 g) Gruppenmige Zusammenfassung gleicher Einheiten in einem Stack (z.B.: 5 x Katapult und 5 x Speerkmpfer anstelle 10 untereinander aufgelisteten einzelnen Einheiten) bei Rechtsklick auf Stack
 h) Anzeige der Koordinaten eines Gelndefeldes und eines wieder aufgeforsteten Waldes in der Gelndefeldinformation. (Anmerkung: Schne Verbesserung)
 i) Anzeige der verbleibenden Runden eines Goldenen Zeitalters des Spielers (Anmerkung: Schne Verbesserung)
 j) Keine zivspezifischen Knigseinheitennamen auerhalb der "Knigsmord-Spiele"
 k) ** Mglichkeit, die Automatisierung von Bautrupps abzustellen (Anmerkung: Nur interessant fr Spieler, die versehentlich fters den Automatisierungsbutton drcken).

2.  Verbesserungen der KI:

 a) Verbesserte KI-Routine fr die Landartillerie:
  - Die KI setzt Landartillerie jetzt auch offensiv im Spiel ein.
  - ** Amphibische Operationen knnen jetzt auch Landartillerie mit beinhalten
 b) Mglichkeit, die KI zum vermehrten Bomber- und Landartilleriebau zu veranlassen.
 c) Genderte KI-Routine der militrischen Anfhrer (= MGL = Kommandanten = Fhrungskrfte):
  - KI kann mit MGLs keine Weltwunder und Einheiten mehr bauen
  - KI bevorzugt die Truppenverbandproduktion gegenber der Gebudeproduktion
 d) Verbesserte KI-Routine fr die Truppenverbnde:
  - Die KI ist jetzt in der Lage Truppenverbnde besser mit Einheiten zu fllen
  - Abstrze, die durch die Aufnahme von Einheiten mit verborgener Staatszugehrigkeit entstehen knnen, werden vermieden.
 e) Verbesserte KI-Routine fr Einheiten in Mods und Szenarien, die nur der Erhhung der Bevlkerungszahlen in Stdten dienen.


3.  Beseitigte Bugs:

 a) Der U-Boot Bug (submarine bug) ist behoben.
 b) Ineffektivitt des wissenschaftlichen Goldenen Zeitalters ist behoben.
 c) Der strende Magenta-Randbalken bei Zivilopdie-Eintrgen ist beseitigt.
 d) Absturz des Spiels bei Anlandung von unbeweglichen Einheiten mit dem "Alle Einheiten ausladen"-Befehl erfolgt nicht mehr.
 e) Hausboot Bug: Nach Einnahme der letzten Stadt verbleibender Siedler auf Schiff lsst das Spiel nicht mehr einfrieren.
 f) Die Korruption einer Regierungsform kann nun im Editor mit "OFF" tatschlich vllig auf Null gesetzt werden (Anmerkung: Noch nicht von mir getestet).

4.  Erweiterungen fr C3C:

 a) Einstellbare Mindestentfernung zwischen Stdten fr Stadtgrndungen (Grundeinstellung wie Normalspiel)
 b) Einstellbare Anarchielnge bei Wechsel der Regierungsform (Anmerkung: Noch nicht getestet)
 c) Mglichkeit die Bewegung auf Eisenbahnfeldern einzuschrnken (Grundeinstellung: nicht eingeschrnkt)
 d) Mehr als die bislang maximale Anzahl von 8192 Einheiten (MUA) auf einer Landkarte mglich
 e) Nationale ("kleine") Wunder knnen jetzt auch wie "Groe" Wunder zustzliche Gebude erzeugen (Anmerkung: Quintillus Editor verwenden).
 f) Mglichkeit die No-Raze-Option und auch die No-Auto-Raze-Option fr Stdte zu aktivieren (Grundeinstellung: nicht aktiviert)
 g) Tarnangriff ist jetzt auch mglich, wenn sich nur ein erlaubtes Ziel im angegriffenen Stack befindet (Anmerkung: Insbesondere fr Mods und Szenarien schne Verbesserung).
 h) Land-/Meer-Schnittstellen (Landbrcken) erlauben sowohl Land- als auch Schiffsseinheiten die Fortbewegung ber angrenzende "Ecken" von Land- und Meeresgelnde. 
 i) "Schmackhaftmachung" (Parfm) von Gebuden und Einheiten fr die KI (Anmerkung: Soll besser als Flavors im Editor sein, noch nicht getestet).  
 j) Aufzeigen mglicher KI-Entscheidungen (dient Flintlock hauptschlich fr knftige Verbesserungen der KI):
  - ** P im Stadtbildschirm drcken, um die in Punkte umgesetzte Entscheidungswahrscheinlichkeit der KI fr einzelne Bauoptionen zu sehen.
  - ** L auf der Landkarte drcken, um die Einschtzung der KI fr knftige Siedlungsorte zu sehen (Rot: Einschtzung hoch, Gelb mittelmig, Wei gering, keine Markierung unaktzeptabel)
 k) Landsiedler knnen keine Stdte im Wasser bauen, wenn Stdtebau dort grundstzlich erlaubt ist (Anmerkung: Bei Standardeinstellungen berflssig)

 x) Verbot unerlaubter Grenzberschreitungen (experimentell): Derzeit Finger weg ! Soll spter wie bei Civ 4 wirken. Es ist aber noch nicht geklrt, inwieweit die KI damit zurechtkommt.
 y) Hinzufgen neuer Epochen (experimentell): Derzeit Finger weg ! Bereits die zustzlichen grafischen Probleme durch weitere Epochen sind derzeit nicht bercksichtigt.


INSTALLATION UND HANDHABUNG:

Entpacke den Flintlock Patch in einen eigenen Ordner, benenne diesen Ordner C3X_R9 und kopiere diesen Ordner dann in den C3C Hauptordner (der die C3C Exe enthlt). Aktiviere den Flintlock Patch durch einen Doppelklick auf die INSTALL.bat (oder die RUN.bat). Die INSTALL.bat wird den Flintlock Patch in die Civ3Conquests.exe intallieren und unter dem Namen "Civ3Conquests-Unmodded.exe" eine Sicherungskopie der alten Exe anlegen. Anmerkung: Die RUN.bat wird nach meinen Erfahrungen wahrscheinlich gar nicht funktionieren. Wenn sie funktioniert, soll sie Civ 3 starten und anschlieend den Flintlock Patch dem Program im Speicher hinzufgen.

Der Flintlock Patch kann mit seiner, im C3X_R9 Ordner enthaltenen Datei default.c3x_config.ini, mittels eines Texteditors in vielen Bereichen weitgehend den Erfordernissen des Spielers angepasst werden. Optionen mit "true" sind aktiviert, Optionen mit "false" deaktiviert und knnen durch jeweilige Umbenennung mittels eines Texteditors von "true" auf "false" bzw. umgekehrt oder durch nderung einstellbarer Werte gendert werden (Abspeichern nicht vergessen). 
 
Hinweise zur Installation:

1. Whrend des Installationsvorgangs legt der Flintlock Patch eine Sicherungskopie der originalen C3C Exe mit dem Namen "Civ3Conquests-Unmodded.exe" an. 
2. Auch nach der Installation bentigt der Patch, um arbeiten zu knnen, einige Dateien aus dem C3X_R9 Ordner im C3C Hauptordner, insbesonders die config.ini, die Text- und die Grafik Dateien. 
3. Fr die Entfernung des Flintlock Patches einfach die geboostete Exe und den Ordner C3X_R9 lschen und dann die Exekopie "Civ3Conquests-Unmodded.exe" in Civ3Conquests umbenennen. 
4. Es ist nicht notwendig die alte Version des Flintlock Patches zu deinstallieren um eine neue Version dieses Patches zu installieren.
5. Es sind vielfache Berichte eingegangen, dass die RUN.bat fr die Installation nicht funktioniert. Besser ist es, die Install.bat zu verwenden. (Anmerkung: Genau !)
6. Rmulo Prado hat berichtet, dass die RUN.bat bei ihm funktioniert hat, nachdem er die MS Visual C++ Redistributables versions 2005 and 2019 eingerichtet hat (Installation mit GOG Galaxy).

KOMPATIBILITT:

Der Flintlock Patch ist nur mit den Civ 3 Complete Versionen von GOG und Steam kompatibel. Er funktioniert auch im Zusammenhang mit Save-Dateien, die ohne ihn erstellt wurden, genauso wie Save-Dateien von Spielen mit dem Patch auch in Spielen ohne die gepatchte Exe fortgefhrt werden knnen. Der Mehrspielermodus wird nicht offiziell untersttzt, aber es gibt Berichte, dass einige der Funktionen auch im Mehrspieler-Modus vorhanden sind:
https://forums.civfanatics.com/threads/sub-bug-fix-and-other-adventures-in-exe-modding.666881/page-16#post-16126470.
 
Anmerkung Civinator: Das Problem scheint zu sein, dass die INSTALL.bat nur die C3C Exe der GOG und der Steam Version erkennt. Fr die Einrichtung der "geboosteten" Exe ist daher eine dieser beiden Versionen erforderlich. Ich konnte aber diese geboostete Exe anschlieend (zusammen mit dem C3X_R9 Ordner) in den C3C Hauptordner meiner Civ Chronicles Installation kopieren und dort stehen mir jetzt alle Funktionen des Flintlock Patches zur Verfgung, obwohl die Civ Chronicles  Installation ursprnglich eine CD-Installation ist, die aber auch unter Win 10 luft. Dies gibt mir Grund zur Annahme, dass die bertragene geboostete Exe (plus dem C3X_R9 Ordner) auch fr alle anderen Civ 3 Complete Installationen funktioniert, die auch bislang unter Win 10 gelaufen sind.  

STACK BOMBARDIERUNG:

Bettigung der Schaltflche wie oben beschrieben. Die Stack Bombardierung wird automatisch beendet, wenn die Einheiten des Stacks mit Bomardierungsmglichkeit auf dem Zielfeld keinen Schaden mehr anrichten knnen. Die Stack-Bombardierung bercksichtigt auch Einheiten mit tdlichen Bombardierungseigenschaften und Sondersituationen, wie z.B. die Bombardierung von Feldern mit Flugpltzen.

WARNHINWEIS AM RUNDENENDE:

Eines der hier noch bestehenden Probleme ist, dass das Spiel die Zufriedenheit einer Stadt nicht sofort neu berechnet, wenn ein Handel zur Einfhrung einer Luxusresource abgeschlossen wurde. Fr eine Neuberechnung der Stadtzufriedenheiten muss in diesen Fllen derzeit noch der Luxus-Regler kurz vor- und zurckgeschoben werden. Dieses Problem soll in einer der nchsten Versionen des Patches behoben werden.

KI VERBESSERUNGEN:

Die Mglichkeit, dass Artillerieeinheiten jetzt ihre Begleiteinheiten auch aus Stadtverteidigern auswhlen knnen, erlaubt es der KI, ihre Artillerieeinheiten auch offensiv einzusetzen. Die Produktionsrate fr Artillerieeinheiten wurde fr die KI deutlich erhht, damit die KI von ihrer neuen Mglichkeit auch Gebrauch machen kann. In der config.ini Datei kann sowohl die Anzahl der Artillerieeinheiten der KI als auch die Geschwindigkeit, mit der diese produziert werden, variabel eingestellt werden. Nhere Hinweise dort.

Truppenverbnde werden jetzt von der KI mglichst mit gleichen Einheiten gefllt.

VERBESSERUNGEN IM HANDELSBILDSCHIRM:

Fr den schnellen Wechsel der Handelspartner knnen statt der grafischen Pfeile auch die Pfeile auf der Tastatur verwendet werden.

EINSTELLBARE VORGABEN FR BEWEGUNGEN:

Wie bei allen Erweiterungen der C3C Software ndern sich hier die Einstellungen nur, wenn die Vorgaben in der config.ini Datei mit einem Texteditor gendert werden.

Die Bewegungsrate mit der Eisenbahn kann auf eine bestimmte Anzahl von Feldern beschrnkt werden. Diese Beschrnkung wirkt wie bei Civ 4, das heit, das Bewegen auf Feldern mit Eisenbahnschienen verbraucht fr alle Einheiten die gleiche eingestellte Anzahl an Bewegungspunkten, unabhngig von der Anzahl an Bewegungspunkten, die diese Einheit sonst im Spiel hat. Ein Wechsel in diesen Einstellungen whrend einer Spielrunde fhrt zu Verzerrungen im Spielablauf.

LAND/MEER-SCHNITTSTELLEN   

Land-/Meer-Schnittstellen erlauben bei ihrer Aktivierung, Schiffen die Passage dnner Landbrcken, die auf der Diagonale von zwei Landfeldern entstehen knnen. Wenn man sich eine Raute, bestehend aus 4 Feldern mit Landgelnde in den Nord- und Sdteilen und Wasser in den Ost- und Westteilen vorstellt, erlauben die aktivierten Land-/Meer-Schnittstellen Schiffen die Durchfahrt von den Ost- und Westteilen.  


GEBUDE DURCH NATIONALE WUNDER:

Diese fr Modder interessante Funktion bentigt den Quintillus Editor (https://forums.civfanatics.com/threads/cross-platform-editor-for-conquests-now-available.377188/). Sobald irgendwelche nderungen mit den Firaxis Editoren in biqs vorgenommen werden, verschwinden die hierzu eingegebenen Vorgaben und mssen erneut mit dem Quintillus Editor eingegeben werden.


EINSTELLBARE MINDESTENTFERNUNG FR STADTGRNDUNGEN:

Mit dieser Option kann der Mindestabstand zwischen Stdten variabel eingestellt werden. Der vorgegebene Mindestabstand bei C3C betrgt 1 Feld. Mit den Einstellungen in der config.ini Datei knnen zu diesem Mindestabstand weitere Felder hinzugefgt werden. Wenn zum Beispiel der Erhhungswert auf 2 gesetzt wird, bedeutet dies, dass eine neue Stadt nur gegrndet werden kann, wenn sie von einer anderen Stadt durch 3 Felder (1+2) getrennt ist. Wenn der Wert auf eine negative Zahl gesetzt wird, bedeutet dies, dass Stdte direkt aneinander angrenzend gegrndet werden knnen (wie in der Antal1987 Exe). Dies kann fr den Bau von Kanlen in manchen Situationen sehr hilfreich sein.

Andererseits hat es seinen Grund, dass in C3C ein Mindestabstand von 1 Feld zwischen 2 Stdten vorgegeben wurde, denn durch den Bau einer Stadt mit einer Kaserne, die direkt an eine feindliche Stadt angrenzt, wird die Eroberung der anderen Stadt unverhltnismig erleichtert. Daher gibt es eine Einstellmglichkeit, die den Bau einer Stadt an eine direkt angrenzende Stadt einer anderen Zivilisation verhindert, selbst wenn ansonsten Stdte direkt aneinander angrenzend errichtet werden knnen.

Die vorgegebenen Einstellungen entsprechen den Standard-Werten aus C3C (Mindestabstand 1 Feld).


NO-RAZE:

Mit den Einstellungen in der config.ini Datei kann sowohl der Abriss eroberter Stdte durch die KI, als auch der automatische Abriss eroberter Stdten mit einem Kulturwert unter 10 verhindert werden. Die Voreinstellungen sind die C3C Grundwerte, die beide Mglichkeiten erlauben.


DAUER DER ANARCHIE:

Durch die Eingabe einer Zahl in der config.ini Datei grer als Null und kleiner als 100 kann die Dauer der Anarchiephase um den Prozentsatz des Wertes dieser Zahl verringert werden. Die Zahl 50 reduziert zum Beispiel die eigentliche  Anarchiedauer um die Hlfte (die Dauer einer normalerweise siebenrndigen Anarchiephase reduziert sich dann auf 3 oder 4 Runden). Die Mindestdauer der Anarchiephase von 2 Runden kann aber nur unterschritten werden, wenn der Eingabewert hher als 100 ist, denn in diesem Fall wird die Anarchiephase komplett eliminiert. 


WIE DAS GANZE FUNKTIONIERT:

Einige Teile des Flintlock Patches (Fehlerbehebungen, no-raze, kein Einheitenlimit) sind durch bloes Hexeditieren entstanden, durch das dem Civ Programm Code hinzugefgt wurde. Das besondere am Flintlock Patch ist ein System, um gewhnlichen C Code zu kompilieren und in den Prozess einzubringen, der es erlaubt, das Spiel mit neuen Mglichkeiten auszustatten. Das Herzstck dieses Systems ist TCC (Tiny C Compiler) sowie viel Arbeit, um Funktionen und Strukturen innerhalb der C3C Exe herauszufinden (fr die Herausarbeitung vieler dieser Strukturen, lange vor Flintlock, gebhrt Antal1987 besonderer Dank).

Der hinzugefgte Code, zusammen mit den anderen Teilen des Flintlock Patches, ist komplett der ffentlichkeit zugnglich. Wer neugierig ist, wie zum Beispiel das Stack Bombardement hinzugefgt wurde, sollte sich den  "patch_Main_Screen_Form_perform_action_on_tile" im "injected_code.c" nher ansehen, der laut Flintlock gut lesbar ist. 

Anmerkung Civinator: Da ich weder ein bersetzer noch ein Programmierer bin, folgt hier insoweit vorsorglich der englische Originaltext: 

HOW IT WORKS:
Some parts of the mod (bug fixes, no-raze, no unit limit) are really just hex edits that are applied to the Civ program code. The real secret sauce (das wirklich Besondere an dem Mod) is a system to compile and inject arbitrary C code into the process which makes it practical to implement new features in the game. The heart of the system is TCC (Tiny C Compiler) and much work puzzling out the functions and structs inside the executable (and thanks to Antal1987 for figuring out most of the structs years before I came along).

The injected code, along with the rest of the mod, is fully open source. If you're curious how stack bombard was implemented, check out "patch_Main_Screen_Form_perform_action_on_tile" in "injected_code.c", I assure you the code is quite readable.

WEITERE INFORMATIONEN; FRAGEN; KOMMENTARE:

Findet Ihr in diesem Thread bei CivFanatics: https://forums.civfanatics.com/threads/sub-bug-fix-and-other-adventures-in-exe-modding.666881/


BESONDERER DANK AN:

1. Antal1987 fr seine Grundlagenarbeit zu den Civ3 Strukturen: https://github.com/Antal1987/C3CPatchFramework
2. Rmulo Prado fr seine Hilfe beim Testen dieses Patchs
3. Civinator fr seine (Einschub von Civinator: endlich fertig gewordene holprige) bersetzung ins Deutsche
